class OuterClass{
    public int a1=1;
    private int a2=2;
    public static int a3=3;
      static class InnterClass{

        public int a1=111111111;
        public int a4=4;
        private int a5=5;
        public static final int a6=6;
        public void fun(){
            OuterClass outerClass=new OuterClass();
            /*
            静态内部类不可以直接访问外部类的非静态成员
           * */
            System.out.println(a1);
           // System.out.println(a2);
            System.out.println(a3);
            System.out.println(outerClass.a1);//外部类的引用访问外部类的非静态成员
            System.out.println(outerClass.a2);//外部类的引用访问外部类的非静态成员
            System.out.println(a4);
            System.out.println(a5);
            System.out.println(a6);
            //System.out.println(OuterClass.this.a2);//不可以了外部类的引用访问外部类的非静态成员
        }
    }
}
public class Test {
    public static void main(String[] args) {
       OuterClass.InnterClass innterClass=new OuterClass.InnterClass();
       innterClass.fun();
    }
}
